package top.yehot.cmmu.mybatis.model;

import org.springframework.boot.context.properties.ConfigurationProperties;

import lombok.Data;

/**
 * MybatisPlus 配置映射类
 * 
 * @author lquan
 * @date 2022-9-10 11:44:04
 */
@Data
@ConfigurationProperties(prefix = "cmmu.mybatis")
public class MybatisProperties {

	/**
	 * Mybatis Plus分页
	 */
	private Pagination pagination = new Pagination();
	/**
	 * Mybatis Plus乐观锁
	 */
	private OptimisticLocker optimisticLocker = new OptimisticLocker();
	/**
	 * mybatis plus阻止恶意的全表更新删除
	 */
	public BlockAttack blockAttack = new BlockAttack();
	
	
	
	/**
	 * Mybatis Plus分页配置
	 */
	@Data
	public class Pagination {
		/**
		 * 是否开启mybatis plus分页(默认开启)
		 */
		private boolean enabled = true;
		/**
		 * 溢出总页数，设置第一页
		 */
		private boolean overflow = true;
		/**
		 * 单页限制 500 条，小于 0 如 -1 不受限制
		 */
		private long limit = 500;
	}

	/**
	 * Mybatis Plus乐观锁配置
	 */
	@Data
	public class OptimisticLocker {
		/**
		 * 是否开启mybatis plus乐观锁(默认开启)
		 */
		private boolean enabled = true;
	}
	
	/**
	 * 阻止恶意的全表更新删除
	 */
	@Data
	public class BlockAttack {
		/**
		 * 是否开启mybatis plus阻止恶意的全表更新删除(默认开启)
		 */
		private boolean enabled = true;
	}

}
